import http from '.'

/**
 *  角色管理
 */
/**
 * 分页查询角色列表
 * @param {*} params 条件查询参数列表
 */
export function queryRole(params) {
  return http.get('api/v1/sys/role/query?' + Form(params).queryString())
}
/**
 * 删除角色记录
 * @param {*} rowId 主键ID
 */
export function deleteRole(rowId) {
  return http.post('api/v1/sys/role/delete?rowId=' + rowId)
}
/**
 * 添加或编辑角色记录
 * @param {*} params
 */
export function addOrEditRole(params) {
  return http.post(
    `api/v1/sys/role/${params.rowId ? 'edit' : 'add'}`,
    Form(params)
  )
}
/**
 * 查看角色详细信息
 * @param {*} rowId
 */
export function detailRole(rowId) {
  return http.get('api/v1/sys/role/detail?rowId=' + rowId)
}

/**
 * 模块管理
 */
/**
 * 查询角色拥有模块和所有模块
 * @param {*} rowId 角色ID
 */
export function queryAllModule(rowId) {
  return http.get(
    `api/v1/sys/module/queryAllModule${rowId ? '?roleId=' + rowId : ''}`
  )
}
/**
 * 查询所有的模块和操作组装成树
 */
export function queryAllModuleAndOperation() {
  return http.get('api/v1/sys/module/queryAllModuleAndOperation')
}
/**
 * 添加或编辑模块
 * @param {*} params
 */
export function addOrEditModule(params) {
  return http.post(
    `api/v1/sys/module/${params.rowId ? 'edit' : 'add'}`,
    Form(params)
  )
}
/**
 * 删除模块
 * @param {*} rowId
 */
export function deleteModule(rowId) {
  return http.post(`api/v1/sys/module/delete?rowId=` + rowId)
}

/**
 * 角色模块绑定
 */
/**
 * 赋予角色模块权限
 * @param {roleId, modules} params 角色ID 模块ID集合
 */
export function grantModulePower(params) {
  return http.post(
    'api/v1/sys/roleModule/grantModulePower?' + Form(params).queryString()
  )
}

/**
 * 角色操作绑定
 */
/**
 * 查询角色拥有的操作权限
 * @param {*} roleId 角色ID
 */
export function queryRoleOperation(roleId) {
  return http.get(
    'api/v1/sys/roleOperationRela/queryRoleModuleAndOperation?roleId=' + roleId
  )
}
/**
 * 赋予角色操作权限
 * @param {*} params 角色ID 勾选的节点集合
 */
export function grantOperationPower(params) {
  return http.post(
    'api/v1/sys/roleOperationRela/grantOperationPower?',
    Form(params)
  )
}

/**
 * 字典参数管理
 */
/**
 * 分页查询字典参数列表
 */
export function queryDict(params) {
  return http.get('api/v1/sys/dict/query?' + Form(params).queryString())
}
/**
 * 删除字典参数记录
 * @param {*} rowId 主键ID
 */
export function deleteDict(rowId) {
  return http.post('api/v1/sys/dict/delete?rowId=' + rowId)
}
/**
 * 添加或编辑字典参数记录
 * @param {*} params
 */
export function addOrEditDict(params) {
  return http.post(
    `api/v1/sys/dict/${params.rowId ? 'edit' : 'add'}`,
    Form(params)
  )
}

/**
 * 系统参数管理
 */
export function queryParam(params) {
  return http.get('api/v1/sys/param/query?' + Form(params).queryString())
}
/**
 * 删除系统参数记录
 * @param {*} rowId 主键ID
 */
export function deleteParam(rowId) {
  return http.post('api/v1/sys/param/delete?rowId=' + rowId)
}
/**
 * 添加或编辑系统参数记录
 * @param {*} params
 */
export function addOrEditParam(params) {
  return http.post(
    `api/v1/sys/param/${params.rowId ? 'edit' : 'add'}`,
    Form(params)
  )
}
